package com.poem.service;

import com.poem.dto.*;
import com.poem.entity.Favorites;
import com.poem.result.PageResult;
import com.poem.vo.FavoritesPageWithAdmin;
import com.poem.vo.FavoritesWithPoemsOrTypes;

import java.util.Map;

/**
 * @ClassName: FavoritesService
 * @Author: YLY
 * @Description:
 * @Date: 2025/10/30
 * @Version: 1.0
 */
public interface FavoritesService {
    boolean checkFavorite(String resourceType, Long resourceId);

    Map<Long, Boolean> batchCheckFavorite(FavoritesCheckDTO favoritesCheckDTO);

    void addFavorites(FavoritesAddDTO favoritesAddDTO);

    void deleteFavorites(FavoritesDTO favoritesDTO);

    PageResult<FavoritesWithPoemsOrTypes> pageQuery(FavoritesPageQueryDTO favoritesPageQueryDTO);

    Map<Long, Integer> batchCount(FavoritesCountDTO favoritesCountDTO);

    PageResult<FavoritesPageWithAdmin> pageQueryWithAdmin(FavoritesPageQueryDTO favoritesPageQueryDTO);
}
